// 服务器监听在本地的5000端口。
// 每次请求时，将请求信息追加到一个名为server.log的日志文件中。
// 日志文件的格式为：[时间戳] - [请求方法] - [请求路径] - [客户端IP]。
// 提供一个简单的HTML页面作为响应，内容为“日志已记录”。

// 导入模块
import fs from "fs";
import http from "http";

// 创建函数
function fn(req, res) {
  // 日志文件的路径
  const path = "./log/server.log";

  // 当前时间戳
  const now = Date.now();

  // 当前请求的 方法
  const method = req.method;

  // 当前请求的 路径
  const url = req.url;

  // 当前客户端 IP
  const ip = req.headers.host;

  // 追加的
  const appendContent = `[${now}] - [${method}] - [${url}] - [${ip}]\n`;

  // 追加日志
  fs.appendFile(path, appendContent, "utf8", (err) => {
    if (err) {
      console.log(err);
    } else {
      // html 响应
      res.writeHead(200, { "Content-Type": `text/html;charset=utf8` });
      res.end("日志已记录");
    }
  });
}

// 服务器初始化
const server = http.createServer(fn);

// 监听本地端口
server.listen(5000);
